@echo off
chcp 65001 >nul
echo ========================================
echo    MySQL远程连接配置工具
echo ========================================
echo.

echo 正在检查MySQL服务状态...
sc query mysql >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ MySQL服务未运行，请先启动MySQL服务
    echo 请运行: net start mysql
    pause
    exit /b 1
)
echo ✅ MySQL服务正在运行
echo.

echo 正在获取本机IP地址...
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr /i "IPv4"') do (
    set "ip=%%i"
    set "ip=!ip: =!"
    goto :found_ip
)
:found_ip
echo 本机IP地址: %ip%
echo.

echo 正在配置防火墙规则...
netsh advfirewall firewall add rule name="MySQL Remote Access" dir=in action=allow protocol=TCP localport=3306 >nul 2>&1
if %errorlevel% equ 0 (
    echo ✅ 防火墙规则添加成功
) else (
    echo ⚠️  防火墙规则可能已存在或需要管理员权限
)
echo.

echo 正在创建远程访问用户...
echo 请输入MySQL root密码:
mysql -u root -p -e "
-- 创建远程用户
CREATE USER IF NOT EXISTS 'remote_user'@'%%' IDENTIFIED BY 'remote_password123';

-- 授予数据库权限
GRANT ALL PRIVILEGES ON community_service_platform.* TO 'remote_user'@'%%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 显示用户信息
SELECT User, Host FROM mysql.user WHERE User = 'remote_user';
" 2>nul

if %errorlevel% equ 0 (
    echo ✅ 远程用户创建成功
) else (
    echo ❌ 用户创建失败，请检查MySQL连接和权限
)
echo.

echo ========================================
echo    配置完成！
echo ========================================
echo.
echo 📋 组员连接信息:
echo    主机: %ip%
echo    端口: 3306
echo    用户名: remote_user
echo    密码: remote_password123
echo    数据库: community_service_platform
echo.
echo 🔗 连接命令示例:
echo    mysql -h %ip% -P 3306 -u remote_user -p community_service_platform
echo.
echo ⚠️  重要提醒:
echo    1. 请确保MySQL配置文件中的bind-address设置为0.0.0.0
echo    2. 建议修改默认密码以提高安全性
echo    3. 如果连接失败，请检查网络和防火墙设置
echo.
echo 按任意键退出...
pause >nul
